#ifndef _DEVICE_H_
#define _DEVICE_H_  

#include "types.h"
#include "utils.h"

#include <cstdio>
#include <cstring>
#include <cassert>

class Device {
public:
    virtual bool read(word_t start_addr, size_t length, uint8_t* buffer) = 0;
    virtual bool write(word_t start_addr, size_t length, const uint8_t* buffer) = 0;
    virtual void update() = 0;
};

#endif
